1. Field of the Invention
The present invention pertains generally to electrical communication systems and more particularly to message processing systems and methods in a communications network.
2. Definitions
Automatic Number Identification (ANT)--The number of the calling station, as used in "Caller ID".
Application Data Field (ADF)--A proprietary transactional messaging protocol having a message structure transported over an X.25 network. Each transaction between a switch and an SCP in a call involves a single request/response pair.
Automatic Failover--A process of automatically shifting operations from an online system to an alternate or redundant system after a failure of the first online system.
Data Access Point (DAP)--A version of a Service Control Point developed by MCI Communications Corp.
Fiber Distributed Data Interface (FDDI)--A high-speed networking standard. The underlying medium is fiber optics, and the topology is a dual-attached, counter-rotating Token Ring. The FDDI protocol has also been adapted to run over traditional copper wires.
Intelligent Network Application Protocol (INAP)--A conversational protocol that specifies the information to be exchanged between the different entities of an Intelligent Network functional model in terms of PDUs. The PDUs themselves represent remote operations in the scope of the TCAP. Versions of INAP include ANSI INAP (North America), ETSI INAP (Europe), and various proprietary versions, generically labeled "INAP+".
Intelligent Network (IN)--A category of telecommunications network that supports collect calls, 1-800 numbers, Virtual Private Networks, digital cellphone systems, and other services, and is based on Signaling System 7 to transfer information.
International Consultative Committee for Telegraphy and Telephony (CCITT)--A unit of the International Telecommunications Union (ITU) of the United Nations having representatives from the telecommunications companies of the world. The CCITT produces technical standards, known as "Recommendations," for all internationally controlled aspects of analog and digital communications.
Message Transfer Part (MTP)--Levels 1-3 of the SS7 protocol containing the necessary mechanisms for ensuring reliable functional signal message transmission and corresponding to the first three layers of the OSI reference model.
N00 Service--A service providing special area codes, such as toll-free 1-800 services.
Open Systems Interconnection (OSI)--The seven-layer, modular protocol stack defined by the International Standards Organization (ISO) for data communications between computers. Its layers are: Physical, Data Link, Network, Transport, Session, Presentation, and Application.
Protocol Data Unit (PDU)--A message of a given protocol comprising payload and protocol-specific control information, typically contained in a message header. PDUs pass over the protocol interfaces that exist between the layers of protocols (per the OSI model).
Signaling Connection Control Part (SCCP)--An SS7 protocol layer that connects sophisticated database management and OSI network service compatibility.
Signaling System 7 (SS7)--A family of signaling protocols originating from narrowband telephony and used to set-up, manage, share, and terminate connections as well as to exchange non-connection-associated information on a telecommunications network. The SS7 technology is a common channel signaling system based on CCITT Q.700.
Sub-System Number (SSN)--A value identifying an application executing on a specific Communications Server.
Supp Codes--Supplemental digits provided to the system, typically by the user or the user's local network system (e.g., billing numbers or user ID numbers).
Transaction Capability Application Part (TCAP)--A connectionless SS7 protocol for the exchange of information outside the context of a call or connection.
Virtual Private Network (VPN) Service--A private intercorporation or intraorganization telephone network service, such as implemented by MCI Corporation's VNET.TM..
X.25--A packet switched data service having channels up to 64 kb/s and being based on the three lower levels of the OSI model.
3. Description of Related Art
Telecommunications network carriers use computing platforms, known generally as Service Control Points (SCPs), for real-time call processing of many services (such as a 1-800-service). An SCP is generally a computer and database platform coupled to a communications network switch for performing real-time processing of various telecommunications services by executing service logic programs to provide customer services. The SCP platforms are distinct from, and typically remote from, telecommunications network switches. A version of an SCP is referred to as a Data Access Point (DAP).
FIG. 1A illustrates a telecommunications network. When a call requiring a service, such as a 1-800 service, is initiated by a user at an originating telephone 150, a request message is received by the central office 154 via local telephone network 152. Systems at central office 154 determine, by searching a database, which long distance carrier, such as MCI Communications Corp., must service the 1-800 number. The systems at central office 154 then route the request message via public switched network 158 to switch 156, which belongs to the long distance carrier. The request message is then forwarded on the service network 160 to SCP 164 from switch 156 to perform the requested service. In this example, a Service Application running on SCP 164 determines the destination for the 1-800 call, and then responds to switch 156, indicating that the call may be connected with receiving telephone 170.
Switch 156 then sends a request message via SS7 network 172 to switch 162 to initiate the call with receiving telephone 170. The switch sends the request to central office 166 via public switched network 158. Central office 166 then routes the call to receiving telephone 170 via local telephone network 168. Additional request and responses messages may be communicated during the call, between the two telephones, between the two switches, and between one of the switches and the service control point, depending on the type of service required by the call and by the communications protocols supported by the system. FIG. 1 illustrates an overview of a portion of a telecommunications system and is generally not limited to a specific configuration or protocol.
FIG. 1B illustrates an exemplary SCP architecture. Each of a plurality of switches 100 in telecommunications network 101 have a dual data link 112 to each of three SCPs 102, 104, and 106 coupled by, for example, an FDDI ring. Each data link from a switch (e.g., 118) connects to two redundant Communications Servers 108 and 110 within SCP 102. On the back end, each Communications Server (e.g., 110) interfaces with a number of Transaction Servers 114 coupled by, for example, an FDDI ring 116. Transaction servers are grouped by services including, for example, Virtual Private Networks (VPN), N00, and Calling Card (CC) services. A single service such as N00 may actually be performed by multiple individual Service Applications. Communications Server 110 receives the request message, processes the communications protocol of the request message, and forwards it to a selected Transaction Server, such as 120. A Service Application executing on the Transaction Server processes the request and returns a response, which the Communications Server sends back to the switch. In a transactional messaging protocol, like ADF, the requested service completes with a single request/response pair. In a conversational messaging protocol, like INAP, a service typically requires a dialog of request/response messages to fully complete the requested service.
Service Applications are software programs that execute on a Transaction Server to process calls and messages for a particular service. Typically, a Transaction Server supports more than one service, and therefore, typically executes multiple specific Service Applications. For example, in a preferred embodiment, there are multiple redundant Transaction Servers for each service at a single SCP. In addition, there are multiple SCPs redundantly supporting every service at each SCP site. Accordingly, there are commonly nine Transaction Servers for each service at each SCP site. Furthermore, in an embodiment of the present invention, there are three SCP sites in a communications network. The Transaction Servers at each SCP are evenly load balanced: a switch evenly distributes its service request messages among the three redundant SCPs, and at each SCP, a Communications Server evenly distributes service request messages for a certain service among the three redundant Transaction Servers for that service.
For communications between switches and SCPs, a transactional messaging protocol referred to as Application Data Field (ADF) messaging may be used. Application Data Field messaging includes a transactional message structure that is transported over an X.25 network employing a single request/response message exchange process for a single service call in which a switch sends a request message to the SCP, and the SCP returns a response message to the switch. This single exchange of messages typically completes the processing for a single-service call, although some types of ADF calls might require multiple services and, therefore, multiple request/response exchanges.
When originating switch 118 receives an ADF call that requires SCP processing, it sends a service request message to SCP 102. Communications Server 110 at SCP 102 receives the service request message, determines which service is needed, and forwards the message to an appropriate Transaction Server 120. Communications Server 110 determines the appropriate Transaction Server based on services supported by each Transaction Server and the relative loading of each Transaction Server. A Service Application on selected Transaction Server 120 processes the service requested message, and generates a service response message. The service response message is returned to the same Communications Server 110, which then forwards the service response message to the same switch 118. This procedure is an exemplary process for standard calls. Thereafter, although multiple redundant Transaction Servers may be available for a particular service, a single Transaction Server is typically used to completely process the individual call.
Accordingly, the context data of an individual call is maintained by the switch or by the single Transaction Server, as shown by FIG. 2, throughout call processing, where the entire call is processed by Transaction Server A. For ADF transactions, call context is typically managed by a switch or originating station and passed to all system components in single request/response transactions. In FIG. 2, the switch sends a service request message to the Communications Server which performs some protocol processing and passes the service request to the appropriate Transaction Server (in this example, Transaction Server A). After completing the requested service, Transaction Server A returns a service response message to the Communications Server, which repackages the service response for communication to the switch. All necessary context data flows along with the service request/response message. This cycle typically completes a call, although, for example, multi-service calls may require multiple transactions to access multiple services.
Another messaging protocol is an SS7 messaging protocol known as Intelligent Network Application Part (INAP). The INAP protocol occupies a top layer of an SS7 protocol stack, riding on what is referred to as the Transaction Capability Application Part (TCAP) message. Unlike ADF, INAP is a conversational protocol in which several messages are exchanged between the switch and the SCP in processing a single call. Each message may be considered a stage in the processing of a multiple stage call dialog.
In the current communications business environment, many alliances are formed in which the network of one carrier must be integrated with the network of another carrier. Often this need requires one carrier's SCP to interface with more than one network, typically involving support for more than one protocol for switch interfacing. For example, an SCP interface to switches using ADF may also be required to interface with switches using various versions of INAP. Furthermore, this need may also extend to additional protocols not discussed herein.
Conversational messaging protocols such as INAP involve several messages exchanged between the switch and SCP in processing an individual call. In one approach, just as an individual call is processed by a single Transaction Server A in an ADF message exchange, a Communications Server supporting an INAP message exchange preferably ensures the same Transaction Server is used to complete the entire message exchange. This approach compromises the load balancing and automatic failover features provided by a multiple Transaction Server architecture. For example, if a Transaction Server fails during the processing of a call, another Transaction Server cannot take over processing because the current context of that call is lost when the first Transaction Server fails. As a result, need exists for a system and method of processing conversational message exchanges using multiple Transaction Servers. Likewise, a need exists for a system and method for supporting multiple protocols, both single request/response and conversational protocols, at a single SCP and among multiple load balanced Transaction Servers, potentially located at different SCPs.